The invention relates to a method for reading and/or writing a data disk wherein said data is stored on said data disk in a continuous spiral form, thereby rotating said disk relative to a reading and/or writing unit for reading and/or writing said disk, said reading and/or writing unit being actuated by actuating means, and reading and/or writing said data simultaneously in N tracks by N spots, N being an integer greater than or equal to 2, the reading and/or writing being performed by alternating between a continuous reading and/or writing and an actuator jump.
Furthermore, the invention relates to an apparatus for reading and/or writing a data disk, the data being stored on said disk in a continuous spiral form, the apparatus comprising rotating means for rotating said disk relative to a reading and/or writing unit for reading and/or writing said data, said reading and/or writing unit comprising reading and/or writing means having N spots for reading and/or writing said data simultaneously from/in N tracks, N being an integer greater than or equal to 2, and actuator means for actuating said reading and/or writing unit being designed to perform alternation between a continuous reading and/or writing and an actuator jump.
In the field of optical disks, such as CD (Compact Disk) and DVD (Digital Video Disk) data is arranged along a continuous spiral. Such data can be read by a single track read-only disk drive with one laser spot or with a multi-track read-only disk drive with N laser spots reading N adjacent tracks simultaneously, N being an integer greater than or equal to 2. Several solutions have been proposed how to perform jumps of a reading head or actuator jumps of an actuator actuating such a reading head to completely read the spiral. It appears, that from time to time less than N spots must be used for reading. The reason is that once the N spots have read simultaneously one disk revolution, a small actuator jump must be performed to a new position. Because a jump cannot be performed in zero time, a gap in the read spiral section occurs. The reading head must therefore come back and retrieve this data. Basically, it is possible to use one spot only from time to time to read the remaining data along one track of a section of a spiral turn. Although, at a certain point, the reading with one spot only cannot be avoided, such limited use of a multi-track read-only drive is disadvantageous since it leads to inefficiency.
It is therefore an object of the invention to improve the efficiency of multi-track disk drives.
This object is achieved by providing a method according to the above-mentioned type being characterized by calculating the next actuator jump dynamically on the basis of a real-time analysis determining a next position of said reading and/or writing unit relative to said disk.
The object is further achieved by providing an apparatus according to the above-mentioned type being characterized by calculation means being designed for calculating the next actuator jump dynamically on the basis of a real-time analysis determining the next position of said reading and/or writing unit relative to said disk.
The invention allows to overcome the limitations of known algorithms for multi-track disk drives due to the fact that parts of the tracks must be read using only one spot by performing a real-time analysis for determining the next position of a reading and/or writing unit, thus no particular fixed pattern for actuator jumps has to be employed. Thus, a most-optimal jump decision can be calculated for the reading and/or writing unit any time, thereby taking into account a plurality of rules.
Furthermore, the invention enables to solve a conflict between lower disk rotational periods and relatively large times needed to perform an actuator jump, since the algorithm according to the invention calculates dynamically the next jump position independent from any time slots. Thus, this algorithm can be easily implemented in successive generations of drives.
Preferably, data is read or written from a complete disk revolution after a seek command has been performed. This has the advantage that linking of all N spiral turns can be immediately carried out and a user will only notice a delay due to the mechanical seek.
Preferably, a jump decision is made based on the following rules: a) encouraging the use of all N spots, b) prohibiting track jumps larger than 2N tracks, c) reading and/or writing shorter spiral sections resulted from read or write gaps resulting from unread or unwritten spiral sections at an inner radius before longer spiral sections, d) privileging actuator jumps towards the inner disk radius if there is no read or write gap to be decided for, e) allowing actuator jumps towards the inner as well as the outer disk radius, and/or f) reading and/or writing short spiral sections twice if this can be accomplished in less time than jumping to another position towards the outer disk radius. Thereby, preferably, rule a) has priority over rule b), rule b) has priority over rule c), rule c) has priority over rule d), rule d) has priority over rule e) and/or rule e) has priority over rule f). Due to these rules all jumps can be calculated in a very efficient manner. Thus, it is possible for an N-spot system to link buffered data from any point between xe2x88x922N and +2N tracks with respect to its current position.
Preferably, the next jump position of the reading and/or writing unit is calculated for several disk revolutions in advance. A simple genetic-like algorithm can be employed to calculate the optimal choice. The main constraints are, however, to read out first remaining gaps along the disk spiral while still using all N spots and to ensure a continuous stream of data. Thus, it is rendered possible to position the N spots at a location that results, at the same time, in maximum read out or writing throughput and in continuity of data flow, thus increasing the efficiency of the system.
Preferably, a disk rotational frequency is calculated depending on a time to elapse before a data buffer for buffering data will run out of data. In particular, the next jump position is calculated depending on this time to elapse. If it is likely that the buffer will run out of data, the system may overrule the most-optimal jump decision and/or slightly reduce the spinning rate. On the contrary, if there is enough data in the buffer the algorithm may decide to read N spiral turns further away instead of completing only one spiral turn at the inner side.
These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter with reference to the accompanying drawings, in which: